home *** CD-ROM | disk | FTP | other *** search
- ==== WARNING = WARNING = WARNING = WARNING = WARNING = WARNING ====
-
- This is beta software. It is not currently known to have bugs or
- incompatibilities with existing STiK apps; nevertheless, use this
- software at your own risk.
-
- ==== WARNING = WARNING = WARNING = WARNING = WARNING = WARNING ====
-
- GlueSTiK v0.02b1
- Scott Bigham dsb@cs.duke.edu
-
- INSTALLATION AND USE
-
- Copy GSDRIVER.EXE and GSDAEMON.PRG to pretty much wherever you want
- them. Add the following line to your MINT.CNF file:
-
- exec c:\path\to\gsdaemon.prg
- exec c:\path\to\gsdriver.exe
-
- If you don't already have a STiK config file, you will need to create
- one. Create a subdirectory STIK_CFG in the root directory of your boot
- drive, and create in it a file called DEFAULT.CFG (if you want to put it
- somewhere else or name it something else, consult the STiK docs for the
- use of the STIK_DIR.DAT file). This file should contain at least the
- line:
-
- ALLOCMEM = 50000
-
- Other STiK apps may require additional entries.
-
- Reboot your computer. You should see two new programs installing
- themselves: GSDaemon and GSDriver. Now connect to your ISP in the
- usual way and run your STiK apps.
-
- COMPATIBILITY
-
- I have done preliminary testing with the following STiK apps and found
- no compatibility problems:
-
- - CAB v1.31
- - FINGER v1.00
- - FORECAST v0.4
- - TELNET v1.00
-
- TECHNICAL STUFF
-
- Unless you're interested in how GlueSTiK works, you can stop reading
- now; just note the e-mail address at the bottom to report problems.
-
- Version 0.02 of GlueSTiK comes in two pieces. GSDaemon runs as a
- background process and is responsible for actually interacting with the
- network. GSDriver is a TSR that sets up the STiK function table and
- hands off STiK network commands to the network daemon. This is
- primarily to eliminate the library-level collisions that caused some
- STiK apps to crash with earlier versions.
-
- Note that the daemon and the STiK app communicate with each other by
- writing into each other's memory space. If you run MiNT without memory
- protection (by renaming MINT.PRG to MINTNP.PRG), this is not a problem;
- otherwise, you may need to use a program-flag setting utility to set the
- memory flags of your STiK apps to global.
-
- There are some places where I was unable to reproduce STiK's exact
- functionality; you can find these places by searching transprt.c for the
- word `Incompatibility'. Otherwise, comments are fairly sparse, mostly
- notes to myself.
-
- There are two main #define's for selecting compile-time functionality:
-
- DEBUG
- Activates the debugging log. Not likely to be of interest unless
- you're debugging GlueSTiK itself.
- BLOCK_OPEN
- Selects between blocking and non-blocking opens. In the Berkeley
- sockets package, connect() is blocking by default; that is,
- control does not return to the program until the connection is
- completely established and the socket is ready to receive data.
- In STiK, TCP_open() is non-blocking; that is, control returns to
- the program immediately, while the connection is still in
- progress, and the program must do its own waiting until the
- connection is established. Since handling non-blocking
- connections is conceptually hairy, this compile-time option allows
- GlueSTiK to be switched between blocking and non-blocking. This
- distribution is compiled with blocking opens; to date, I have not
- noticed any problems caused by this.
-
- testit.c is a quick-n-dirty program I threw together to do basic testing
- of GlueSTiK. It should not be used as a guideline for STiK application
- programming. ;) You can build it with `make test'.
-
- BUGS
-
- None that I know of; presumably a few that I don't. Report any problems
- you may have to me at dsb@cs.duke.edu.
-
- That's pretty much it. Remember, it's just a beta.
-
- -sbigham
-